package com.rongke.model;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.rongke.utils.DateJsonDeserializer;
import com.rongke.utils.DateJsonSerializer;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Channel
 * @(channel)
 * @version : Ver 1.0
 */
@TableName("channel")
public class Channel implements Serializable {
	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

    /***
	 * 谁添加的代理商
	 * */
    private String Twolevelagent;

	public String getTwolevelagent() {
		return Twolevelagent;
	}

	public void setTwolevelagent(String twolevelagent) {
		Twolevelagent = twolevelagent;
	}

	/**
	 * 代理
	 * */
	private Long relation;

	public Long getRelation() {
		return relation;
	}

	public void setRelation(Long relation) {
		this.relation = relation;
	}

	/**
	 * 用户user
	 * */
	private transient User user;

   /***
	* 二级chanel
	* */

   private transient List<Channel>  twochannelss;
   /***
	* 三级
	* */
   private  transient  List<Channel> threechannl;

	public List<Channel> getTwochannelss() {
		return twochannelss;
	}

	public void setTwochannelss(List<Channel> twochannelss) {
		this.twochannelss = twochannelss;
	}

	public List<Channel> getThreechannl() {
		return threechannl;
	}

	public void setThreechannl(List<Channel> threechannl) {
		this.threechannl = threechannl;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}


	/**
	 * @备注:
	 * @字段:gmt_datetime DATETIME(19)
	 */
	@JsonSerialize(using=DateJsonSerializer.class)
	@JsonDeserialize(using=DateJsonDeserializer.class)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
	private java.util.Date gmtDatetime = new java.util.Date();


	/**
	 * @备注:
	 * @字段:upt_datetime DATETIME(19)
	 */
	@JsonSerialize(using=DateJsonSerializer.class)
	@JsonDeserialize(using=DateJsonDeserializer.class)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
	private java.util.Date uptDatetime = new java.util.Date();

	public Date getGmtDatetime() {
		return gmtDatetime;
	}

	public void setGmtDatetime(Date gmtDatetime) {
		this.gmtDatetime = gmtDatetime;
	}

	public Date getUptDatetime() {
		return uptDatetime;
	}

	public void setUptDatetime(Date uptDatetime) {
		this.uptDatetime = uptDatetime;
	}

	/**
	 * 代理商级别
	 * */
	private  java.lang.Integer level;

	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	/**
	 * @备注:主键id
	 * @字段:id BIGINT(19)
	 */
	@TableId(type = IdType.AUTO)
	private java.lang.Long id;

	/**
	 * 推广名义本金总额
	 * */
    private transient BigDecimal Nominalprincipal;

    /**
	 * 推广权利金总额
	 * */
    private transient  BigDecimal Totalrightsofrights;

	public BigDecimal getTotalrightsofrights() {
		return Totalrightsofrights;
	}

	public void setTotalrightsofrights(BigDecimal totalrightsofrights) {
		Totalrightsofrights = totalrightsofrights;
	}

	public BigDecimal getNominalprincipal() {
		return Nominalprincipal;
	}

	public void setNominalprincipal(BigDecimal nominalprincipal) {
		Nominalprincipal = nominalprincipal;
	}

	/**
	 * @备注:登录账号
	 * @字段:login_name VARCHAR(255)
	 */
	private java.lang.String loginName;


	/**
	 * @备注:渠道商名称
	 * @字段:name VARCHAR(255)
	 */
	private java.lang.String name;


	/**
	 * @备注:推广链接
	 * @字段:link_url VARCHAR(255)
	 */
	private java.lang.String linkUrl;


	/**
	 * @备注:每单分成利润比例
	 * @字段:proportion VARCHAR(255)
	 */
	private java.lang.String proportion;


	/**
	 * @备注:登录密码
	 * @字段:password VARCHAR(255)
	 */
	private java.lang.String password;


	/**
	 * @备注:登录token
	 * @字段:token VARCHAR(255)
	 */
	private java.lang.String token;


	/**
	 * @备注:总注册会员数
	 * @字段:member_count INT(10)
	 */
	private java.lang.Integer memberCount;


	/**
	 * @备注:总分成利润
	 * @字段:profit VARCHAR(255)
	 */
	private java.lang.String profit;


	/**
	 * @备注:状态: 1,正常 2,删除
	 * @字段:status INT(10)
	 */
	private java.lang.Integer status;





	public Channel(){
	}

	public Channel(
		java.lang.Long id
	){
		this.id = id;
	}



	public void setId(java.lang.Long id) {
		this.id = id;
	}

	public java.lang.Long getId() {
		return this.id;
	}


	public void setLoginName(java.lang.String loginName) {
		this.loginName = loginName;
	}

	public java.lang.String getLoginName() {
		return this.loginName;
	}


	public void setName(java.lang.String name) {
		this.name = name;
	}

	public java.lang.String getName() {
		return this.name;
	}


	public void setLinkUrl(java.lang.String linkUrl) {
		this.linkUrl = linkUrl;
	}

	public java.lang.String getLinkUrl() {
		return this.linkUrl;
	}


	public void setProportion(java.lang.String proportion) {
		this.proportion = proportion;
	}

	public java.lang.String getProportion() {
		return this.proportion;
	}


	public void setPassword(java.lang.String password) {
		this.password = password;
	}

	public java.lang.String getPassword() {
		return this.password;
	}


	public void setToken(java.lang.String token) {
		this.token = token;
	}

	public java.lang.String getToken() {
		return this.token;
	}


	public void setMemberCount(java.lang.Integer memberCount) {
		this.memberCount = memberCount;
	}

	public java.lang.Integer getMemberCount() {
		return this.memberCount;
	}


	public void setProfit(java.lang.String profit) {
		this.profit = profit;
	}

	public java.lang.String getProfit() {
		return this.profit;
	}


	public void setStatus(java.lang.Integer status) {
		this.status = status;
	}

	public java.lang.Integer getStatus() {
		return this.status;
	}
}
